/**
 * Copyright (C) 2022-2023
 * All rights reserved, Designed By www.tonetn.com
 * 注意：
 * 本软件为www.tonetn.com开发研制，未经购买不得使用
 * 购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
 * 一经发现盗用、分享等行为，将追究法律责任，后果自负
 */
package com.xunyin.modules.recharge.domain;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xunyin.domain.BaseDomain;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Author xunyinyunshang  <3594419785@qq.com>
 * @date 2022-10-12
 */
@Data
@TableName("t_recharge_set")
public class TRechargeSet extends BaseDomain {
    /** id */
    @TableId
    private Integer id;

    /** 优惠套餐名称 */
    private String name;

    /** 价格（元） */
    private Integer price;

    /** 时长（小时） */
    private Integer timeLong;

    /** 会员等级 */
    private Integer level;

    /** 主体Id */
    private Integer mainId;

    /** 会客厅ID（门店Id） */
    private Integer teaHouseId;

    /** 会客厅名称（门店名称） */
    private String teaHouseName;

    /** 转让次数 */
    private Integer transferTimes;

    /** 标识图片 */
    private String image;

    /** 有效开始时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date validityDateStart;

    /** 有效结束时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date validityDateEnd;

    /** 是否可用 */
    private Integer enable;

    /** 状态 */
    private Integer status;

    /** 限购1次标志 */
    private Integer purchaseLimitsOneFlag;

    private Integer activityNo;

    private Integer activityPurchaseLimitTimes;

    /** 主体名称 */
    private String mainName;

    /** 删除日期 */
    private Date deleteTime;

    /** 美团团购项目Id */
    private Integer dealId;

    public void copy(TRechargeSet source) {
        BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
